home *** CD-ROM | disk | FTP | other *** search
- 10 LDA #$01;READ AN ERROR SET FLAG
- 20 STA ERFLG
- 30 SEI
- 40 BACK RTS
- 50 ASCII PHA;CONVERT TRACK AND SECTOR #'S FOR ERROR
- 60 LSR
- 70 LSR
- 80 LSR
- 90 LSR
- 100 SED
- 110 TAX
- 120 BEQ J6
- 130 CLC
- 140 LDA #$00
- 150 J7 ADC #$16
- 160 DEX
- 170 BNE J7
- 180 J6 STA BITBYTE
- 190 CLD
- 200 PLA
- 210 AND #$0F
- 220 CMP #$0A
- 230 BCC J8
- 240 ADC #$05
- 250 J8 SED
- 260 ADC BITBYTE
- 270 CLD
- 280 PHA
- 290 LSR:LSR:LSR:LSR
- 300 ORA #$30
- 310 TAX
- 320 PLA
- 330 AND #$0F
- 340 ORA #$30
- 350 TAY
- 360 RTS
- 361 ;BIT MAP $DD00
- 362 ;BIT 0 = VIC 2 MEMORY BANK
- 363 ;BIT 1 = VIC 2 MEMORY BANK
- 364 ;BIT 2 = RS 232 DATA OUT
- 365 ;BIT 3 = SERIAL BUS ATTENTION OUT
- 366 ;BIT 4 = CLOCK PULSE OUT
- 367 ;BIT 5 = SERIAL BUS DATA OUT
- 368 ;BIT 6 = CLOCK PULSE IN
- 369 ;BIT 7 = SERIAL BUS DATA IN
- 370 READ LDA #$0B;SET ATTENTION SIGNAL
- 380 STA DATAPRT
- 390 L4 LDA DATAPRT
- 400 BPL L4;IF BIT 7 = 0 NO DATA
- 410 LDA #$03
- 420 STA DATAPRT;CLEAR SERIAL PORT
- 430 LDX #$05
- 440 L5 DEX
- 450 NOP
- 460 BNE L5
- 470 LDX #$04;READ DATA PORT FOUR TIMES
- 480 MRBITS LDA DATAPRT;BITS 6 & 7 HOLD READ DATA
- 490 ASL;PUSH 0 IN BIT 0 PUSH BIT 7 INTO C FLAG
- 500 PHP;SAVE THE DATA BIT IN THE C FLAG
- 510 ASL;PUSH 0 IN BIT 0 PUSH BIT 6 INTO C FLAG
- 520 ROL BITBYTE;PUSH BIT IN C FLAG INTO BIT 0 OF $06
- 530 PLP;GET THE DATA BIT SAVED
- 540 ROL BITBYTE;PUSH THE DATA BIT INTO $06
- 550 DEX
- 551 ;AFTER ONE LOOP $06 LOOKS LIKE THIS XXXXXXCD C = CLOCK PULSE D = DATA BIT
- 552 ;AFTER 2 LOOPS $06 LOOKS LIKE THIS XXXXCDCD ETC
- 560 BNE MRBITS
- 570 LDA BITBYTE;EXAMPLE 11000101
- 580 EOR #$FF;FLIPED 00111010 = DATA BYTE
- 590 RTS;(null) BACK STORE BYTE @ $1700,Y
- 600 WRITE STA BITBYTE;WRITE ROUTINE WORKS BACKWARDS
- 610 LDA #$0B;FROM READ ROUTINE BITS MOVE RIGHT
- 620 STA DATAPRT;INSTEAD OF LEFT AS IN READ
- 630 J9 LDA DATAPRT
- 640 BPL J9
- 650 LDA #$03
- 660 STA DATAPRT
- 670 LDX #$04
- 680 MRBITS1 LDA #$03
- 690 LSR BITBYTE
- 700 ROR
- 710 LSR BITBYTE
- 720 ROR
- 730 LSR:LSR
- 740 NOP
- 750 STA DATAPRT
- 760 DEX
- 770 BNE MRBITS1
- 780 LDX #$01
- 790 J10 DEX
- 800 BNE J10
- 810 RTS
- 830 .FILE C35 9
-